package array;

/*
 *  在一个给定的数组nums中，总是存在一个最大元素 。
 *  查找数组中的最大元素是否至少是数组中每个其他数字的两倍。
 *  如果是，则返回最大元素的索引，否则返回-1。
 */
public class TwiceBigger {

    /*
     * 解题思路：本道题只需要对比两个值
     *          最大值m1和第二大值m2（可能相等）。
     *          所以循环数组找出 m1 和 m2,比较 m1 和 m2 即可。
     */
    public int dominantIndex(int[] nums) {
        int m1 = 0;
        int m2 = 0;
        int index = 0;
        for(int i=0;i<nums.length;i++){
            if(m1<nums[i]){
                m2 = m1;
                m1 = nums[i];
                index = i;
            }else {
                if(m2<nums[i]){
                    m2 = nums[i];
                }
            }
        }
        if(m1>=2*m2){
            return index;
        }

        return -1;
    }
}
